package com.librelato.tela;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.faces.application.Application;
import javax.faces.application.FacesMessage;
import javax.faces.application.ViewHandler;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import org.primefaces.context.RequestContext;
import org.primefaces.event.SelectEvent;

import com.librelato.bean.CentroCustoBean;
import com.librelato.bean.CompradorBean;
import com.librelato.bean.EmpresaBean;
import com.librelato.bean.ProdutoBean;
import com.librelato.bean.SolicitacaoBean;
import com.librelato.bean.UnidadeRequisicaoBean;
import com.librelato.bean.UsuarioBean;
import com.librelato.negocio.CentroCustoServico;
import com.librelato.negocio.CompradorServico;
import com.librelato.negocio.ProdutoServico;
import com.librelato.negocio.SolicitacaoServico;
import com.librelato.negocio.UnidadeRequisicaoServico;
import com.librelato.negocio.interfaces.ICentroCustoServico;
import com.librelato.negocio.interfaces.ICompradorServico;
import com.librelato.negocio.interfaces.IProdutoServico;
import com.librelato.negocio.interfaces.IUnidadeRequisicaoServico;
import com.librelato.tela.datamodel.CCustoDataModel;
import com.librelato.tela.datamodel.CompradorDataModel;
import com.librelato.tela.datamodel.ProdutoDataModel;
import com.librelato.tela.datamodel.UnidadeDataModel;
import com.librelato.webservices.DadosSc;
import com.librelato.webservices.ListaSc;
import com.librelato.webservices.WsSoapStub;

@ManagedBean
@ViewScoped
public class SolicitaTela extends TelaAbstrata {

	@ManagedProperty(value = "#{solicitacaoBean}")
	private SolicitacaoBean soliciForm;

	@ManagedProperty(value = "#{usuario}")
	private UsuarioBean usuario;

	private EmpresaBean empresaSelecionada;

	private SolicitacaoServico<SolicitacaoBean> servico;

	private IUnidadeRequisicaoServico<UnidadeRequisicaoBean> unidadeServico;

	private ICompradorServico<CompradorBean> compradorServico;

	private IProdutoServico<ProdutoBean> produtoServico;

	private ICentroCustoServico<CentroCustoBean> centroCustoServico;

	private List<UnidadeRequisicaoBean> listaUnidRequis;

	private UnidadeRequisicaoBean unidRequiSel;

	private UnidadeRequisicaoBean unidadeRequisicao;

	private UnidadeDataModel uniModel;

	private int comboModal;

	private String campoPesqui;

	private List<CompradorBean> listaCompradores;

	private CompradorDataModel compModel;

	private CompradorBean compradorSel;

	private ProdutoBean prodSel;

	private ProdutoBean produtoPesq;

	private ProdutoBean produto;

	private List<ProdutoBean> listaProdPanel;

	private List<ProdutoBean> listaProd;

	private ProdutoDataModel prodModel;

	private List<CentroCustoBean> listaCentros;

	private CCustoDataModel ccModel;

	private CentroCustoBean ccSel;

	private CentroCustoBean centroCusto;

	private String numSolicitacao;

	private String necessidade;

	private SimpleDateFormat dataFormat;

	private boolean checkFecha;

	private UIInput uiCompradorInput;

	private Date dataEmissao = new Date();

	private CompradorBean comprador;

	public SolicitaTela() {
		try {
			usuario = usuario == null ? (UsuarioBean) ((HttpSession) FacesContext
					.getCurrentInstance().getExternalContext()
					.getSession(false)).getAttribute("usuario")
					: usuario;

			servico = new SolicitacaoServico<SolicitacaoBean>();
			produtoServico = new ProdutoServico<ProdutoBean>();
			empresaSelecionada = new EmpresaBean();
			listaUnidRequis = new ArrayList<UnidadeRequisicaoBean>();
			unidRequiSel = new UnidadeRequisicaoBean();
			uniModel = new UnidadeDataModel(listaUnidRequis);
			listaCompradores = new ArrayList<CompradorBean>();
			compModel = new CompradorDataModel(listaCompradores);
			compradorSel = new CompradorBean();
			comprador = new CompradorBean();
			produtoPesq = new ProdutoBean();
			prodSel = new ProdutoBean();
			produto = new ProdutoBean();
			listaProdPanel = new ArrayList<ProdutoBean>();
			listaProd = new ArrayList<ProdutoBean>();
			prodModel = new ProdutoDataModel(listaProdPanel);
			listaCentros = new ArrayList<CentroCustoBean>();
			ccModel = new CCustoDataModel(listaCentros);
			ccSel = new CentroCustoBean();
			unidadeRequisicao = new UnidadeRequisicaoBean();
			centroCusto = new CentroCustoBean();
			pesqUnidadesRequisicao();
			dataFormat = new SimpleDateFormat("dd/MM/yy");
			// centroCusto.setCodigo(usuario.getCentroCusto());
			checkFecha = true;
			necessidade = "";
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public String adiciona() {

		produto.setCentroCusto(centroCusto);
		try {
			produto.setNecessidade(dataFormat.parse(necessidade));
		} catch (ParseException e) {
			e.printStackTrace();
		}
		produto = new ProdutoBean();
		centroCusto = new CentroCustoBean();
		// centroCusto.setCodigo(usuario.getCentroCusto());
		necessidade = "";

		return null;
	}

	public void onUniSelect(SelectEvent event) {
		unidRequiSel = (UnidadeRequisicaoBean) event.getObject();
		unidadeRequisicao = unidRequiSel;
		soliciForm.setUnidadeRequisi(unidadeRequisicao);
		unidRequiSel = null;
	}

	public void onCompSelect(SelectEvent event) {
		compradorSel = (CompradorBean) event.getObject();
		comprador = compradorSel;
		compradorSel = null;
		soliciForm.setComprador(comprador);
	}

	public void onProdSelect(SelectEvent event) {
		if (empresaSelecionada.getFilial() != null
				&& !"".equals(empresaSelecionada.getFilial().trim())) {
			prodSel = (ProdutoBean) event.getObject();
			try {
				produtoServico = new ProdutoServico<ProdutoBean>();
				produto = produtoServico.verificaProduto(prodSel.getCodigo()
						.trim(), empresaSelecionada.getFilial());
				produto.setDescricao(prodSel.getDescricao());

				Calendar calendar = Calendar.getInstance();
				calendar.setTime(new Date());
				calendar.add(Calendar.DATE, produto.getLeadTime());
				necessidade = dataFormat.format(calendar.getTime());
				if (!verificaGrupo(produto.getGrupo(), produto.getGrupoPai())) {
					RequestContext
							.getCurrentInstance()
							.execute(
									"document.getElementById('form:iDesc').readOnly=false;");
				} else {
					RequestContext
							.getCurrentInstance()
							.execute(
									"document.getElementById('form:iDesc').readOnly=true;");
				}
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				produtoServico = null;
				prodSel = null;
			}
		} else {
			FacesMessage message = new FacesMessage(
					FacesMessage.SEVERITY_ERROR, this.getServico().getValor(
							"msg_header_erro"), this.getServico().getValor(
							"msg_sem_filial_erro"));
			FacesContext.getCurrentInstance().addMessage(null, message);
		}
	}

	public boolean verificaGrupo(String grupo, String grupoPai) {
		boolean readOnly = true;
		if (grupo != null
				&& (grupoPai.trim().equalsIgnoreCase("4000")
						|| grupoPai.trim().equalsIgnoreCase("4100")
						|| grupoPai.trim().equalsIgnoreCase("4300") || grupo
						.trim().equalsIgnoreCase("6203"))) {
			readOnly = false;
		}
		return readOnly;
	}

	public void onCCSelect(SelectEvent event) {
		ccSel = (CentroCustoBean) event.getObject();
		centroCusto = ccSel;
		ccSel = null;
		produto.setCentroCusto(centroCusto);
	}

	public void pesqComprador() {
		compradorServico = new CompradorServico<CompradorBean>();
		try {
			listaCompradores = compradorServico.buscaCompradores(campoPesqui,
					comboModal);
			compModel = null;
			compModel = new CompradorDataModel(listaCompradores);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			compradorServico = null;
		}

	}

	public void pesqUnidadesRequisicao() {
		unidadeServico = new UnidadeRequisicaoServico<UnidadeRequisicaoBean>();
		try {
			listaUnidRequis = unidadeServico.buscaUnidadesRequisicao();
			uniModel = null;
			uniModel = new UnidadeDataModel(listaUnidRequis);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			unidadeServico = null;
		}

	}

	public void atuaProdutos() {
		produtoServico = new ProdutoServico<ProdutoBean>();
		try {
			produtoPesq.setFilial(empresaSelecionada.getFilial());
			listaProdPanel = produtoServico.buscaProdutos(produtoPesq);
			prodModel = null;
			prodModel = new ProdutoDataModel(listaProdPanel);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			produtoServico = null;
		}
	}

	public void pesqCentroCusto() {
		ICentroCustoServico<CentroCustoBean> centroServico = new CentroCustoServico<CentroCustoBean>();
		try {
			listaCentros = centroServico.buscaCentrosCusto(
					empresaSelecionada.getFilial(), campoPesqui, comboModal);
			ccModel = null;
			ccModel = new CCustoDataModel(listaCentros);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void gravar() {
		RequestContext context = RequestContext.getCurrentInstance();
		try {
			if (listaProd.size() > 0) {
				WsSoapStub stub = new WsSoapStub();
				DadosSc dadosSc;
				List<DadosSc> listaDadosSc = new ArrayList<DadosSc>();
				soliciForm.setDataEmissao(dataEmissao);
				for (int i = 0; i < listaProd.size(); i++) {
					dadosSc = new DadosSc();
					dadosSc.setArma(listaProd.get(i).getLocal().toUpperCase());
					dadosSc.setCc(listaProd.get(i).getCentroCusto().getCodigo());
					dadosSc.setComprador(comprador.getCodigo());
					dadosSc.setDescr(listaProd.get(i).getDescricao());
					dadosSc.setDtCad(dataFormat.format(soliciForm
							.getDataEmissao()));
					dadosSc.setDtNece(dataFormat.format(listaProd.get(i)
							.getNecessidade()));
					dadosSc.setFilial(empresaSelecionada.getFilial());
					dadosSc.setIdUser(Long.parseLong(usuario.getCodigo()));
					dadosSc.setNUser(usuario.getNome());
					dadosSc.setObs(listaProd.get(i).getObservacao());
					dadosSc.setOp(listaProd.get(i).getOrdemProd());
					dadosSc.setProd(listaProd.get(i).getCodigo());
					dadosSc.setQtde(listaProd.get(i).getQuantidade());
					dadosSc.setUM(listaProd.get(i).getUnidMedida());
					dadosSc.setUms(listaProd.get(i).getSegUniMedida());
					dadosSc.setUniReq(unidadeRequisicao.getCodigo());
					listaDadosSc.add(dadosSc);
				}
				DadosSc[] vetorSc = listaDadosSc
						.toArray(new DadosSc[listaDadosSc.size()]);
				ListaSc listaSc = new ListaSc(vetorSc);
				String b = stub.incluiSc(listaSc);
				numSolicitacao = b;
				if (numSolicitacao.trim().length() <= 6) {
					context.execute("dlgSol.show()");
					servico = new SolicitacaoServico<SolicitacaoBean>();
					produtoServico = new ProdutoServico<ProdutoBean>();
					empresaSelecionada = usuario.getFilial();
					listaUnidRequis = new ArrayList<UnidadeRequisicaoBean>();
					unidRequiSel = new UnidadeRequisicaoBean();
					uniModel = new UnidadeDataModel(listaUnidRequis);
					listaCompradores = new ArrayList<CompradorBean>();
					compModel = new CompradorDataModel(listaCompradores);
					compradorSel = new CompradorBean();
					produtoPesq = new ProdutoBean();
					prodSel = new ProdutoBean();
					produto = new ProdutoBean();
					listaProdPanel = new ArrayList<ProdutoBean>();
					listaProd = new ArrayList<ProdutoBean>();
					prodModel = new ProdutoDataModel(listaProdPanel);
					listaCentros = new ArrayList<CentroCustoBean>();
					ccModel = new CCustoDataModel(listaCentros);
					ccSel = new CentroCustoBean();
					unidadeRequisicao = new UnidadeRequisicaoBean();
					centroCusto = new CentroCustoBean();
					pesqUnidadesRequisicao();
					// centroCusto.setCodigo(usuario.getCentroCusto());
					necessidade = "";

					context.addPartialUpdateTarget("formProd");
					context.addPartialUpdateTarget("formCC");
					context.addPartialUpdateTarget("formCompr");
					context.addPartialUpdateTarget("formRequis");
					if (checkFecha) {
						context.execute("dlg1.hide()");
					}

					this.refreshTela();
					usuario.setUltimaSolicitacao(numSolicitacao.trim());

				} else {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_FATAL, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_valida_inclusao_solicita"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					context.execute("dlgErro.show()");
					context.addPartialUpdateTarget("formErro");
				}
			} else {
				FacesMessage message = new FacesMessage(
						FacesMessage.SEVERITY_ERROR, this.getServico()
								.getValor("msg_header_erro"), this.getServico()
								.getValor("msg_valida_listaProd_erro"));
				FacesContext.getCurrentInstance().addMessage(null, message);
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void cancelaGravacao() {
		servico = new SolicitacaoServico<SolicitacaoBean>();
		produtoServico = new ProdutoServico<ProdutoBean>();
		empresaSelecionada = usuario.getFilial();
		listaUnidRequis = new ArrayList<UnidadeRequisicaoBean>();
		unidRequiSel = new UnidadeRequisicaoBean();
		uniModel = new UnidadeDataModel(listaUnidRequis);
		listaCompradores = new ArrayList<CompradorBean>();
		compModel = new CompradorDataModel(listaCompradores);
		compradorSel = new CompradorBean();
		produtoPesq = new ProdutoBean();
		produto = new ProdutoBean();
		prodSel = new ProdutoBean();
		listaProdPanel = new ArrayList<ProdutoBean>();
		listaProd = new ArrayList<ProdutoBean>();
		prodModel = new ProdutoDataModel(listaProdPanel);
		listaCentros = new ArrayList<CentroCustoBean>();
		ccModel = new CCustoDataModel(listaCentros);
		ccSel = new CentroCustoBean();
		unidadeRequisicao = new UnidadeRequisicaoBean();
		centroCusto = new CentroCustoBean();
		pesqUnidadesRequisicao();
		// centroCusto.setCodigo(usuario.getCentroCusto());

		RequestContext.getCurrentInstance().addPartialUpdateTarget("formProd");
		RequestContext.getCurrentInstance().addPartialUpdateTarget("formCC");
		RequestContext.getCurrentInstance().addPartialUpdateTarget("formCompr");
		RequestContext.getCurrentInstance()
				.addPartialUpdateTarget("formRequis");
		this.refreshTela();
	}

	public void refreshTela() {

		FacesContext context = FacesContext.getCurrentInstance();
		Application application = context.getApplication();
		ViewHandler viewHandler = application.getViewHandler();
		UIViewRoot viewRoot = viewHandler.createView(context, context
				.getViewRoot().getViewId());
		context.setViewRoot(viewRoot);
		context.renderResponse();

	}

	public void validaCampos(FacesContext fc, UIComponent ui, Object objeto) {
		String cod = (String) objeto;
		if (ui.getId().trim().equals("requis")) {
			unidadeServico = new UnidadeRequisicaoServico<UnidadeRequisicaoBean>();
			try {
				unidadeRequisicao = unidadeServico.verificaUnidadeRequi(cod);
				if (unidadeRequisicao == null) {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_ERROR, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_valida_requi_erro"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					((UIInput) ui).setValid(false);
					unidadeRequisicao = new UnidadeRequisicaoBean();
					unidadeRequisicao.setCodigo("");
					unidadeRequisicao.setDescricao("");
				}
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				unidadeServico = null;
			}
		} else if (ui.getId().trim().equals("comprador")) {
			compradorServico = new CompradorServico<CompradorBean>();
			try {
				comprador = compradorServico.verificaComprador(cod);
				if (comprador == null) {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_ERROR, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_valida_compra_erro"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					((UIInput) ui).setValid(false);
					comprador = new CompradorBean();
					comprador.setCodigo("");
					comprador.setNome("");
					comprador.setCodCompMicro("");
				}
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				unidadeServico = null;
			}
		} else if (ui.getId().trim().equals("iProd")) {
			produtoServico = new ProdutoServico<ProdutoBean>();
			try {
				if (empresaSelecionada.getFilial() != null
						&& !"".equals(empresaSelecionada.getFilial().trim())) {
					produto = produtoServico.verificaProduto(cod,
							empresaSelecionada.getFilial());
					if (produto == null) {
						FacesMessage message = new FacesMessage(
								FacesMessage.SEVERITY_ERROR, this.getServico()
										.getValor("msg_header_erro"), this
										.getServico().getValor(
												"msg_valida_produto_erro"));
						FacesContext.getCurrentInstance().addMessage(null,
								message);
						((UIInput) ui).setValid(false);
						produto = new ProdutoBean();
						produto.setCodigo("");
						produto.setDescricao("");
						produto.setUnidMedida("");
						produto.setLocal("");
					} else {
						Calendar calendar = Calendar.getInstance();
						calendar.setTime(new Date());
						calendar.add(Calendar.DATE, produto.getLeadTime());
						necessidade = dataFormat.format(calendar.getTime());
						if (!verificaGrupo(produto.getGrupo(),
								produto.getGrupoPai())) {
							RequestContext
									.getCurrentInstance()
									.execute(
											"document.getElementById('form:iDesc').readOnly=false;");
						} else {
							RequestContext
									.getCurrentInstance()
									.execute(
											"document.getElementById('form:iDesc').readOnly=true;");
						}
					}
				} else {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_ERROR, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_sem_filial_erro"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					((UIInput) ui).setValid(false);
				}

			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				produtoServico = null;
			}
		} else if (ui.getId().trim().equals("iArm")
				|| ui.getId().trim().equals("iArm2")) {
			produtoServico = new ProdutoServico<ProdutoBean>();
			try {
				if ((!produtoServico.verificaLocal(
						empresaSelecionada.getFilial(), cod.trim()))
						|| (cod.trim().equalsIgnoreCase("70")
								|| cod.trim().equalsIgnoreCase("50")
								|| cod.trim().equalsIgnoreCase("80")
								|| cod.trim().equalsIgnoreCase("01A") || cod
								.trim().equalsIgnoreCase("01"))) {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_ERROR, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_valida_local_erro"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					((UIInput) ui).setValid(false);
				}

			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				produtoServico = null;
			}
		} else if (ui.getId().trim().equals("iCc")) {
			centroCustoServico = new CentroCustoServico<CentroCustoBean>();
			try {
				centroCusto = centroCustoServico
						.verificaCentroCusto(new CentroCustoBean(
								empresaSelecionada.getFilial(), cod, ""));
				if (centroCusto == null) {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_ERROR, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_valida_centro_erro"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					((UIInput) ui).setValid(false);
					centroCusto = new CentroCustoBean();
					centroCusto.setCodigo("");
					centroCusto.setDescricao("");
					produto.setCentroCusto(centroCusto);
				}
				produto.setCentroCusto(centroCusto);
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				centroCustoServico = null;
			}
		} else if (ui.getId().trim().equals("iNec")) {
			try {
				Date nece = dataFormat.parse(cod);
				Date atual = dataFormat.parse(dataFormat.format(dataEmissao));
				if (nece.before(atual)) {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_ERROR, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_valida_necessidade_erro"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					((UIInput) ui).setValid(false);
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	@Override
	protected SolicitacaoServico<SolicitacaoBean> getServico() {
		return this.servico;
	}

	public SolicitacaoBean getSoliciForm() {
		return soliciForm;
	}

	public void setSoliciForm(SolicitacaoBean soliciForm) {
		this.soliciForm = soliciForm;
	}

	public UsuarioBean getUsuario() {
		return usuario;
	}

	public void setUsuario(UsuarioBean usuario) {
		this.usuario = usuario;
	}

	public EmpresaBean getEmpresaSelecionada() {
		return empresaSelecionada;
	}

	public void setEmpresaSelecionada(EmpresaBean empresaSelecionada) {
		this.empresaSelecionada = empresaSelecionada;
	}

	public List<UnidadeRequisicaoBean> getListaUnidRequis() {
		return listaUnidRequis;
	}

	public void setListaUnidRequis(List<UnidadeRequisicaoBean> listaUnidRequis) {
		this.listaUnidRequis = listaUnidRequis;
	}

	public UnidadeRequisicaoBean getUnidRequiSel() {
		return unidRequiSel;
	}

	public void setUnidRequiSel(UnidadeRequisicaoBean unidRequiSel) {
		this.unidRequiSel = unidRequiSel;
	}

	public UnidadeRequisicaoBean getUnidadeRequisicao() {
		return unidadeRequisicao;
	}

	public void setUnidadeRequisicao(UnidadeRequisicaoBean unidadeRequisicao) {
		this.unidadeRequisicao = unidadeRequisicao;
	}

	public UnidadeDataModel getUniModel() {
		return uniModel;
	}

	public void setUniModel(UnidadeDataModel uniModel) {
		this.uniModel = uniModel;
	}

	public int getComboModal() {
		return comboModal;
	}

	public void setComboModal(int comboModal) {
		this.comboModal = comboModal;
	}

	public String getCampoPesqui() {
		return campoPesqui;
	}

	public void setCampoPesqui(String campoPesqui) {
		this.campoPesqui = campoPesqui;
	}

	public List<CompradorBean> getListaCompradores() {
		return listaCompradores;
	}

	public void setListaCompradores(List<CompradorBean> listaCompradores) {
		this.listaCompradores = listaCompradores;
	}

	public CompradorDataModel getCompModel() {
		return compModel;
	}

	public void setCompModel(CompradorDataModel compModel) {
		this.compModel = compModel;
	}

	public CompradorBean getCompradorSel() {
		return compradorSel;
	}

	public void setCompradorSel(CompradorBean compradorSel) {
		this.compradorSel = compradorSel;
	}

	public ProdutoBean getProdSel() {
		return prodSel;
	}

	public void setProdSel(ProdutoBean prodSel) {
		this.prodSel = prodSel;
	}

	public ProdutoBean getProdutoPesq() {
		return produtoPesq;
	}

	public void setProdutoPesq(ProdutoBean produto) {
		this.produtoPesq = produto;
	}

	public List<ProdutoBean> getListaProdPanel() {
		return listaProdPanel;
	}

	public void setListaProdPanel(List<ProdutoBean> listaProdPanel) {
		this.listaProdPanel = listaProdPanel;
	}

	public List<ProdutoBean> getListaProd() {
		return listaProd;
	}

	public void setListaProd(List<ProdutoBean> listaProd) {
		this.listaProd = listaProd;
	}

	public ProdutoDataModel getProdModel() {
		return prodModel;
	}

	public void setProdModel(ProdutoDataModel prodModel) {
		this.prodModel = prodModel;
	}

	public List<CentroCustoBean> getListaCentros() {
		return listaCentros;
	}

	public void setListaCentros(List<CentroCustoBean> listaCentros) {
		this.listaCentros = listaCentros;
	}

	public CCustoDataModel getCcModel() {
		return ccModel;
	}

	public void setCcModel(CCustoDataModel ccModel) {
		this.ccModel = ccModel;
	}

	public CentroCustoBean getCcSel() {
		return ccSel;
	}

	public void setCcSel(CentroCustoBean ccSel) {
		this.ccSel = ccSel;
	}

	public CentroCustoBean getCentroCusto() {
		return centroCusto;
	}

	public void setCentroCusto(CentroCustoBean centroCusto) {
		this.centroCusto = centroCusto;
	}

	public void setServico(SolicitacaoServico<SolicitacaoBean> servico) {
		this.servico = servico;
	}

	public String getNumSolicitacao() {
		return numSolicitacao;
	}

	public void setNumSolicitacao(String numSolicitacao) {
		this.numSolicitacao = numSolicitacao;
	}

	public String getNecessidade() {
		return necessidade;
	}

	public void setNecessidade(String necessidade) {
		this.necessidade = necessidade;
	}

	public boolean isCheckFecha() {
		return checkFecha;
	}

	public void setCheckFecha(boolean checkFecha) {
		this.checkFecha = checkFecha;
	}

	public UIInput getUiCompradorInput() {
		return uiCompradorInput;
	}

	public void setUiCompradorInput(UIInput uiCompradorInput) {
		this.uiCompradorInput = uiCompradorInput;
	}

	public Date getDataEmissao() {
		return dataEmissao;
	}

	public void setDataEmissao(Date dataEmissao) {
		this.dataEmissao = dataEmissao;
	}

	public ProdutoBean getProduto() {
		return produto;
	}

	public void setProduto(ProdutoBean produto) {
		this.produto = produto;
	}

	public CompradorBean getComprador() {
		return comprador;
	}

	public void setComprador(CompradorBean comprador) {
		this.comprador = comprador;
	}

}
